<!-- 维修详情 》 备品使用记录 -->

<template>
  <div class="DetailDevice-RepairBackup">
    <MajorTitle title="备品使用记录" />

    <WebTable v-bind="tableProps" auto>
      <RowIndex />
      <RowText label="备品名称" bind="assetName" />
      <RowText label="备品型号" bind="modelName" />
      <RowNum label="数量" bind="number" />
      <RowText label="单位" bind="unit" :width="80" />
      <RowNum label="单价 (元)" bind="unitPrice" />
      <RowNum label="总价 (元)" bind="totalPrice" />
    </WebTable>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'RepairBackup',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb()],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 表格属性
     */
    tableProps() {
      const { one, sumMethod } = this
      return {
        list: one.workOrderPreAssetDto || [],
        noPage: true,
        hasSum: true,
        sumMethod,
      }
    },
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 合计方法
     */
    sumMethod(param) {
      const { columns, data } = param
      const sums = columns.map(() => '')
      sums[sums.length - 2] = '合计'
      sums[sums.length - 1] = data.reduce((total, row) => total + row.totalPrice, 0)
      return sums
    },
  },
}
</script>
